package Presentacion.Recursos.Tabla;
import java.awt.Color;
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.DefaultCellEditor;
import javax.swing.JCheckBox;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JTable;

import Presentacion.Pantallas.DialogoGestionarPuntajeFecha;


public class ButtonEditor extends DefaultCellEditor {

		private static final long serialVersionUID = 1L;

	protected ImageButton button;

	  private int nRow;
	  private MyCustomTable mct;


	  public ButtonEditor(JCheckBox checkBox, MyCustomTable mct,String path, String pathOver, int type) {
	    super(checkBox);
	    this.mct = mct;
	    button = new ImageButton(path,pathOver);
	    button.setOpaque(true);
	    switch(type){
	    	case 0: //Es boton agregar
	    		button.addMouseListener(new MouseAdapter() {
	    			@Override
	    			public void mouseClicked(MouseEvent e) {
	    				agregarJugador();
	    			}
	    		});
	    		break;
	    	case 1: //Es boton quitar titular
	    		button.addMouseListener(new MouseAdapter() {
	    			@Override
	    			public void mouseClicked(MouseEvent e) {
	    				quitarJugadorTitular();
	    			}
	    		});
	    		break;
	    	case 2: //Es boton cambiar
	    		button.addMouseListener(new MouseAdapter() {
	    			@Override
	    			public void mouseClicked(MouseEvent e) {
	    				cambiarJugador();
	    			}
	    		});
	    		break;
	    	case 3: // Es boton quitar suplente
	    		button.addMouseListener(new MouseAdapter() {
	    			@Override
	    			public void mouseClicked(MouseEvent e) {
	    				quitarJugadorSuplente();
	    			}
	    		});
	    		break;
	    	case 4: // Es boton detalles partido
	    		button.addMouseListener(new MouseAdapter() {
	    			@Override
	    			public void mouseClicked(MouseEvent e) {
	    				detallePartido();
	    			}
	    		});
	    		break;
	    	case 5: // Es boton detalles jugador
	    		button.addMouseListener(new MouseAdapter() {
	    			@Override
	    			public void mouseClicked(MouseEvent e) {
	    				detalleJugadorEquipo1();
	    			}
	    		});
	    		break;
	    	case 6: // Es boton detalles jugador
	    		button.addMouseListener(new MouseAdapter() {
	    			@Override
	    			public void mouseClicked(MouseEvent e) {
	    				detalleJugadorEquipo2();
	    			}
	    		});
	    		break;
	    }
	    
	  }

	  public Component getTableCellEditorComponent(JTable table, Object value,
	      boolean isSelected, int row, int column) {
		JPanel pane = new JPanel();
		pane.setLayout(null);
		button.setBounds(5,2,10,10);
		pane.add(button);
	    button.setForeground(table.getForeground());
	    pane.setBackground(new Color(49,49,49));
	    nRow = row;
	    return pane;
	  }
	  
	  private void agregarJugador(){
		  mct.agregarJugador(nRow);
	  }
	  
	  private void quitarJugadorTitular(){
		  mct.quitarJugadorTitular(nRow);
	  }
	  
	  private void quitarJugadorSuplente(){
		  mct.quitarJugadorSuplente(nRow);
	  }
	  
	  private void cambiarJugador(){
		  mct.cambiarJugador(nRow);
	  }
	  
	  private void detallePartido(){
		  mct.detallePartido(nRow);

	  }
	  
	  private void detalleJugadorEquipo1(){
		  mct.detalleJugadorEquipo1(nRow);
	  }
	  
	  private void detalleJugadorEquipo2(){
		  mct.detalleJugadorEquipo2(nRow);
	  }
	  
	  
	  
}